// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Пин Ап Казино Онлайн — окунитесь в мир азартных приключений с Pin Up Casino – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Пин Ап Казино Онлайн — окунитесь в мир азартных приключений с Pin Up Casino

В мире азартных игр есть много казино, но не все из них могут сравниться с Pin Up Casino. Это уникальное онлайн-казино, которое предлагает игрокам из России и других стран возможность играть в лучшие игры, получать выигрыши и наслаждаться азартными приключениями.

Pin Up Casino – это не только казино, а целая атмосфера, которая окружает вас, когда вы входите в его виртуальные стены. Здесь вы можете насладиться игрой на деньги, получать бонусы и выигрыши, а также насладиться азартными приключениями, которые предлагает вам Pin Up Casino.

Pin Up Casino – это ваш путь к азартным приключениям! Здесь вы можете играть в любое время и в любом месте, где есть интернет. Вам не нужно выезжать в физическое казино, чтобы насладиться игрой. Pin Up Casino – это ваша возможность играть в любое время и в любом месте.

Также, Pin Up Casino предлагает игрокам из России и других стран множество бонусов и акций, которые помогут вам начать играть и насладиться азартными приключениями. Вам не нужно беспокоиться о безопасности, потому что Pin Up Casino – это безопасное и надежное онлайн-казино.

Pin Up Casino Online – Immerse Yourself in the World of Thrilling Adventures

Преимущества Pin Up Casino

  • Большой выбор игр: более 3 000 игр от ведущих разработчиков
  • Легкая регистрация: только несколько минут и вы уже можете начать играть
  • Бонусы и акции: регулярные бонусы и акции для новых и постоянных игроков
  • Безопасность: Pin Up Casino использует современные технологии безопасности для защиты данных игроков
  • Многоязычность: доступен на русском языке, а также на других языках

Как начать играть в Pin Up Casino

  • Зарегистрируйте аккаунт: введите свои данные и подтвердите регистрацию
  • Выберите игру: из более 3 000 игр Pin Up Casino
  • Начните играть: используйте деньги из вашего баланса или получите бонус
  • Получите выигрыш: если вы выиграете, вы можете получать деньги на свой счет
  • Pin Up Casino – это ваш путь к азартным приключениям

    Pin Up Casino – это место, где вы можете найти все, что вам нужно для азартных приключений. С более 3 000 играми, регулярными бонусами и акциями, а также современными технологиями безопасности, Pin Up Casino – это ваш путь к азартным приключениям.

    Pin Up Casino Online – Огромный мир азартных приключений

    Pin Up Casino – это онлайн-казино, где вы можете испытать на себе все приключения и эмоции, которые связаны с игрой в азартные игры. В Pin Up Casino вы найдете огромный выбор игр, начиная от классических слотов и заканчивая живыми играми с дилерами.

    • Большой выбор игр
    • Профессиональные дилеры
    • Бонусы и акции
    • Мобильная версия
    • Безопасность и конфиденциальность

    В Pin Up Casino вы можете играть в слоты, карточные игры, рулетку, покер и другие азартные игры. У нас есть что-то для каждого: для начинающих игроков и для опытных, для любителей риска и для тех, кто ищет спокойный игровой опыт.

  • Классические слоты
  • Видеослоты
  • Таблицы
  • Рулетка
  • Покер
  • Наше онлайн-казино предлагает вам множество способов играть и получать удовольствие. Мы обеспечиваем безопасность и конфиденциальность вашей игры, чтобы вы могли насладиться игрой без каких-либо волнений.

    Виды игр в Pin Up Casino

    В пинап Pin Up Casino предлагается широкий спектр игр, чтобы удовлетворить любые предпочтения игроков. Ниже мы рассмотрим основные виды игр, которые доступны в казино.

    Классические игры

    Слоты

    Видео-лотереи

    Таблицы

    Видео-игры

    В Pin Up Casino вы можете играть в классические игры, такие как рулетка, blackjack, бинго и другие. Кроме того, в казино представлены слоты от ведущих разработчиков, таких как NetEnt, Microgaming и Pragmatic Play. В Pin Up Casino также доступны видео-лотереи, которые комбинируют элементы лотереи и игровых автоматов. Кроме того, в казино представлены игры на таблицах, такие как blackjack, baccarat и poker. В Pin Up Casino также доступны видео-игры, которые комбинируют элементы игровых автоматов и казино.

    В Pin Up Casino вы можете играть на деньги или в режиме демо, что позволяет опытным игрокам и новичкам равными условиями испытать игры и улучшить свои навыки. Кроме того, казино предлагает различные бонусы и акции, чтобы помочь вам начать играть и улучшить свои шансы на выигрыш.

    Преимущества игры в Pin Up Casino

    Pin Up Casino – это лучшее место для игроков, которые ищут азартные приключения и выгодные условия для игры. В этом разделе мы рассмотрим основные преимущества игры в Pin Up Casino.

    Большой выбор игр

    В Pin Up Casino представлен огромный выбор игр, включая слоты, карточные игры, рулетку и другие. Это означает, что каждый игрок может найти игру, которая ему по душе. Кроме того, новый игрок может попробовать несколько игр, чтобы найти свою любимую.

    Кроме того, Pin Up Casino предлагает игрокам возможность играть в игры с любым бюджетом. Начиная с минимальной ставки, игроки могут начать играть и постепенно увеличивать свою ставку, если они хотят.

    Выгодные условия для игроков

    Pin Up Casino предлагает игрокам выгодные условия, такие как приветственные бонусы, реферальные бонусы и другие акции. Это означает, что игроки могут начать играть с дополнительными средствами и увеличить свои шансы на выигрыш.

    Кроме того, Pin Up Casino предлагает программу лояльности, которая позволяет игрокам получать бонусы и преимущества за свою фидельность. Это означает, что игроки могут получать дополнительные преимущества, если они играют регулярно.

    Pin Up Casino – это лучшее место для игроков, которые ищут азартные приключения и выгодные условия для игры. С его огромным выбором игр, выгодными условиями для игроков и программой лояльности, Pin Up Casino – это идеальное место для игроков, которые ищут развлечения и выгоды.

    Как начать играть в Pin Up Casino

    Pin Up Casino – это онлайн-казино, где вы можете испытать азарт и волнение, играя в свои любимые игры. Для начала вам нужно зарегистрироваться на сайте, чтобы получить доступ к игровому процессу.

    Для регистрации вам нужно заполнить форму, указав свои личные данные, такие как имя, фамилия, адрес электронной почты и пароль. Вам также нужно выбрать валюту, в которой вы будете играть, и подтвердить, что вы достигли 18-летнего возраста.

    После регистрации вы получите доступ к игровому кабинету, где можно выбрать из более 3 000 игр, включая слоты, карточные игры, рулетку и другие. Вы можете играть на деньги или в режиме demo, если вы хотите попробовать игру перед игрой на деньги.

    Для начала игры вам нужно выбрать игру, которая вам понравилась, и нажать на кнопку “Играть”. Вам будет предложено выбрать ставку, и вы можете начать играть.

    В Pin Up Casino есть также несколько способов пополнения счета, включая банковские карты, электронные деньги и другие. Минимальная сумма пополнения – 10 евро, а максимальная – 10 000 евро.

    Вам также доступны различные бонусы и акции, которые могут помочь вам начать играть с более высокими ставками. Например, новый игрок может получить бонус 100% на свой первый депозит, равный 100 евро.

    Наконец, в Pin Up Casino есть команда поддержки, которая работает 24/7, чтобы помочь вам в случае каких-либо вопросов или проблем. Вы можете связаться с ними через электронную почту или чат-бот.

    Таким образом, Pin Up Casino – это идеальное место для игроков, которые ищут азарт и волнение в онлайн-играх. Начните играть сегодня и испытайте все преимущества Pin Up Casino!

    Конечно, есть и другие вопросы?

    Конечно, у вас могут возникнуть и другие вопросы о Pin Up Casino, и мы готовы ответить на них. Вот некоторые из них:

    Как я могу начать играть в Pin Up Casino?

    Для начала, вам нужно зарегистрироваться на сайте Pin Up Casino, выбрать валюту и сделать минимальный депозит. Затем вы можете выбрать игру, которая вам понравилась, и начать играть.

    Какие бонусы и акции предлагает Pin Up Casino?

    Pin Up Casino предлагает различные бонусы и акции, включая приветственный бонус, бонусы за депозит, бесплатные спины и многое другое. Мы рекомендуем вам регулярно проверять наш сайт, чтобы не пропустить новые акции.

    Как я могу получать вознаграждения в Pin Up Casino?

    В Pin Up Casino вы можете получать вознаграждения в виде реальных денег, которые можно вывести с помощью различных платежных систем, включая Visa, Mastercard, Skrill и другие.

    Как я могу связаться с поддержкой Pin Up Casino?

    Вы можете связаться с нашим поддержкой через чат, электронную почту или телефон. Мы готовы помочь вам в любое время, если у вас возникнут вопросы или проблемы.

    Как я могу быть уверен в безопасности моих данных в Pin Up Casino?

    Pin Up Casino использует современные технологии безопасности, чтобы защитить ваши данные. Мы также получили сертификат eCOGRA, который подтверждает наше соответствие международным стандартам безопасности.

    Как я могу изменить язык на сайте Pin Up Casino?

    Вы можете изменить язык на сайте Pin Up Casino в разделе “Моя страница” или в правом верхнем углу экрана.

    Как я могу изменить валюту на сайте Pin Up Casino?

    Вы можете изменить валюту на сайте Pin Up Casino в разделе “Моя страница” или в правом верхнем углу экрана.

    Если у вас возникнут другие вопросы, не стесняйтесь обращаться к нам. Мы готовы помочь вам в любое время!

    Design and Develop by Ovatheme